//
//  ZHBaseDescriptorCell.h
//  Pods
//
//  Created by Basic on 2018/5/23.
//  Copyright © 2018年 zhihan. All rights reserved.
//  普通文本 Cell 基类
//  支持 image + titleLable + detailLable + switch + button + arrowImgv

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN
@class HHBaseTableTextCell;
@protocol HHBaseTableTextCellDelegate <NSObject>
@optional
/// 选择了右侧 button
- (void)hh_tableTextCell:(HHBaseTableTextCell *)cell selectedRightBtn:(UIButton *)sender;
/// switch value changed event
- (void)hh_tableTextCell:(HHBaseTableTextCell *)cell switchValueChanged:(BOOL )on;
/// 选中、取消选中事件
- (void)hh_tableTextCell:(HHBaseTableTextCell *)cell setSelected:(BOOL )selected;
@end

@interface HHBaseTableTextCell : UITableViewCell
/// 背景图片，[默认nil，访问属性自动生成，默认铺满 view]
@property (nonatomic, strong, readonly) UIImageView *backgroundImgv;
/** 头部 imageView，默认nil（使用属性后自动生成,frame=(15,center,16,20) ） */
@property (nonatomic, strong, readonly) UIImageView *headImgv;
/** 头部 icon imageView，默认nil（使用属性后自动生成,frame=(right,bottom,12,12) ） */
@property (nonatomic, strong, readonly) UIImageView *headIconImgv;
/** 文本 lable，默认非nil （使用属性后自动生成） */
@property (nonatomic, strong, readonly) UILabel *textLb;
/** 文本描述 lable，一般位置在 textLb 下面第二行，默认非nil （使用属性后自动生成）*/
@property (nonatomic, strong, readonly) UILabel *textDescribeLab;
/** 详情lable，默认nil（使用属性后自动生成） */
@property (nonatomic, strong, readonly) UILabel *detailLb;
/** 分割线，默认nil（使用属性后自动生成） */
@property (nonatomic, strong, readonly) UIView *splitView;
/** 右侧箭头图片，默认nil,（使用属性后自动生成，默认使用main bundle里的图片 bc_arrow_right） */
@property (nonatomic, strong, readonly) UIImageView *arrowImgv;
/** 右侧 switch 控件，默认nil（使用属性后自动生成，默认大小 Scale(0.8, 0.8) ） */
@property (nonatomic, strong, readonly) UISwitch *rightSwitch;
/** 右侧 按钮，默认nil（使用属性后自动生成,right:-5,height:cell.height,width:40） */
@property (nonatomic, strong, readonly) UIButton *rightBtn;
/** delegate */
@property (nonatomic, weak, nullable) id<HHBaseTableTextCellDelegate> delegate;
/** 是否自定义cell属性，默认NO,使用Base里默认样式 */
@property (nonatomic, assign) BOOL isCustom;
/** 所属indexPath，默认nil，需要外面赋值，这里只做数据传递 */
@property (nonatomic, strong, nullable) NSIndexPath *indexPath;
/// 所属tableView，默认nil
@property (nonatomic, weak, nullable) UITableView *tableView;
@end

NS_ASSUME_NONNULL_END
                                                   
